\begin{problem}{Поиск цикла}{cycle.in}{cycle.out}{1 секунда}{256 мегабайт}{2B}

Дан ориентированный невзвешенный граф. Необходимо определить есть ли в нём
циклы, и если есть, то вывести любой из них.

\InputFile
В первой строке входного файла находятся два натуральных числа $N$ и $M$ 
($1 \leqslant N \leqslant 100\,000$, $M \leqslant 100\,000$)~--- количество вершин и рёбер в графе 
соответственно. Далее в $M$ строках перечислены рёбра графа. Каждое ребро 
задаётся парой чисел ~--- номерами начальной и конечной вершин соответственно.

\OutputFile
Если в графе нет цикла, то вывести <<\t{NO}>>, иначе ~--- <<\t{YES}>> и затем перечислить
все вершины в порядке обхода цикла.

\Examples

\begin{example}
\exmp{2 2
1 2
2 1
}{YES
1 2 }%
\exmp{2 2
1 2
1 2
}{NO}%
\end{example}

\end{problem}
